<!DOCTYPE html>
<!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
--><html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no, width=device-width">
<meta name="generator" content="joDoc">
<title>Apache Cordova API Documentation</title>
<link rel="stylesheet" type="text/css" href="index.css">
<link rel="stylesheet" type="text/css" href="mobile.css" media="only screen and (max-device-width: 1024px)">
<link rel="stylesheet" type="text/css" href="prettify/prettify.css">
</head>
<body>
        <div id="header">
            <h1><a href="index.html">Apache <strong>Cordova</strong> Documentation</a></h1>
            <small>
                <select><optgroup label="English" value="en">
<option value="edge">edge</option>
<option value="2.2.0rc2">2.2.0rc2</option>
<option value="2.2.0rc1">2.2.0rc1</option>
<option selected value="2.2.0">2.2.0</option>
<option value="2.1.0rc2">2.1.0rc2</option>
<option value="2.1.0rc1">2.1.0rc1</option>
<option value="2.1.0">2.1.0</option>
<option value="2.0.0rc1">2.0.0rc1</option>
<option value="2.0.0">2.0.0</option>
<option value="1.9.0rc1">1.9.0rc1</option>
<option value="1.9.0">1.9.0</option>
<option value="1.8.1">1.8.1</option>
<option value="1.8.0rc1">1.8.0rc1</option>
<option value="1.8.0">1.8.0</option>
<option value="1.7.0rc1">1.7.0rc1</option>
<option value="1.7.0">1.7.0</option>
<option value="1.6.1">1.6.1</option>
<option value="1.6.0rc1">1.6.0rc1</option>
<option value="1.6.0">1.6.0</option>
<option value="1.5.0rc1">1.5.0rc1</option>
<option value="1.5.0">1.5.0</option>
<option value="1.4.1">1.4.1</option>
<option value="1.4.0rc1">1.4.0rc1</option>
<option value="1.4.0">1.4.0</option>
<option value="1.3.0">1.3.0</option>
<option value="1.2.0">1.2.0</option>
<option value="1.1.0">1.1.0</option>
<option value="1.0.0rc3">1.0.0rc3</option>
<option value="1.0.0rc2">1.0.0rc2</option>
<option value="1.0.0rc1">1.0.0rc1</option>
<option value="1.0.0">1.0.0</option>
<option value="0.9.6">0.9.6</option>
<option value="0.9.5.1">0.9.5.1</option>
<option value="0.9.5">0.9.5</option>
<option value="0.9.4">0.9.4</option>
<option value="0.9.3">0.9.3</option>
<option value="0.9.2">0.9.2</option>
</optgroup>
<optgroup label="Español" value="es"><option value="1.0.0">1.0.0</option></optgroup>
<optgroup label="Français" value="fr">
<option value="1.3.0">1.3.0</option>
<option value="1.2.0">1.2.0</option>
<option value="1.1.0">1.1.0</option>
</optgroup>
<optgroup label="Japanese" value="jp">
<option value="2.0.0">2.0.0</option>
<option value="1.9.0">1.9.0</option>
<option value="1.8.1">1.8.1</option>
<option value="1.7.0">1.7.0</option>
<option value="0.9.5">0.9.5</option>
</optgroup>
<optgroup label="Korean" value="kr"><option value="2.0.0">2.0.0</option></optgroup></select></small>
        </div>
        <div id="subheader">
            <h1>Connection</h1>
            <small><select><option value="Connection">Connection</option>
<option value="Connection_properties">      - Properties</option>
<option value="Connection_constants">      - Constants</option>
<option value="Connection_permissions">      - Permissions</option>
<option value="connection.type">connection.type</option>
<option value="connection.type_description">      - Description</option>
<option value="connection.type_supported_platforms">      - Supported Platforms</option>
<option value="connection.type_quick_example">      - Quick Example</option>
<option value="connection.type_full_example">      - Full Example</option>
<option value="connection.type_api_change">      - API Change</option>
<option value="connection.type_ios_quirks">      - iOS Quirks</option>
<option value="connection.type_bada_quirks">      - Bada Quirks</option>
<option value="connection.type_webos_quirks">      - webOS Quirks</option>
<option value="connection.type_windows_phone_quirks">      - Windows Phone Quirks</option>
<option value="connection.type_tizen_quirks">      - Tizen Quirks</option></select></small>
        </div>

        <div id="sidebar">
            <div class="vertical_divider"></div>
        <h1>API Reference</h1>
<ul>
<li><a href="cordova_accelerometer_accelerometer.md.html#Accelerometer">Accelerometer</a></li>
<li><a href="cordova_camera_camera.md.html#Camera">Camera</a></li>
<li><a href="cordova_media_capture_capture.md.html#Capture">Capture</a></li>
<li><a href="cordova_compass_compass.md.html#Compass">Compass</a></li>
<li><a href="cordova_connection_connection.md.html#Connection">Connection</a></li>
<li><a href="cordova_contacts_contacts.md.html#Contacts">Contacts</a></li>
<li><a href="cordova_device_device.md.html#Device">Device</a></li>
<li><a href="cordova_events_events.md.html#Events">Events</a></li>
<li><a href="cordova_file_file.md.html#File">File</a></li>
<li><a href="cordova_geolocation_geolocation.md.html#Geolocation">Geolocation</a></li>
<li><a href="cordova_globalization_globalization.md.html#Globalization">Globalization</a></li>
<li><a href="cordova_media_media.md.html#Media">Media</a></li>
<li><a href="cordova_notification_notification.md.html#Notification">Notification</a></li>
<li><a href="cordova_splashscreen_splashscreen.md.html#Splashscreen">Splashscreen</a></li>
<li><a href="cordova_storage_storage.md.html#Storage">Storage</a></li>
</ul>
<h1>Guides</h1>
<ul>
<li><a href="guide_getting-started_index.md.html#Getting%20Started%20Guides">Getting Started Guides</a></li>
<li><a href="guide_command-line_index.md.html#Command-Line%20Usage">Command-Line Usage</a></li>
<li><a href="guide_upgrading_index.md.html#Upgrading%20Guides">Upgrading Guides</a></li>
<li><a href="guide_project-settings_index.md.html#Project%20Settings">Project Settings</a></li>
<li><a href="guide_plugin-development_index.md.html#Plugin%20Development%20Guide">Plugin Development Guide</a></li>
<li><a href="guide_whitelist_index.md.html#Domain%20Whitelist%20Guide">Domain Whitelist Guide</a></li>
<li><a href="guide_cordova-webview_index.md.html#Embedding%20WebView">Embedding WebView</a></li>
<li><a href="_index.html">Keyword Index</a></li>
</ul>
</div>

        <div id="scrollable">
            <div id="content">
                <h1><a name="Connection">Connection</a></h1>

<blockquote>
  <p>The <code>connection</code> object gives access to the device's cellular and wifi connection information.</p>
</blockquote>

<p>This object is exposed as <code>navigator.connection</code>.</p>

<h2>
<a name="Connection_properties">Properties</a>
</h2>

<ul>
<li><a href="cordova_connection_connection.md.html#connection.type">connection.type</a></li>
</ul>
<h2>
<a name="Connection_constants">Constants</a>
</h2>

<ul>
<li>
<a href="cordova_connection_connection.md.html#Connection">Connection</a>.UNKNOWN</li>
<li>
<a href="cordova_connection_connection.md.html#Connection">Connection</a>.ETHERNET</li>
<li>
<a href="cordova_connection_connection.md.html#Connection">Connection</a>.WIFI</li>
<li>
<a href="cordova_connection_connection.md.html#Connection">Connection</a>.CELL_2G</li>
<li>
<a href="cordova_connection_connection.md.html#Connection">Connection</a>.CELL_3G</li>
<li>
<a href="cordova_connection_connection.md.html#Connection">Connection</a>.CELL_4G</li>
<li>
<a href="cordova_connection_connection.md.html#Connection">Connection</a>.NONE</li>
</ul>
<h2>
<a name="Connection_permissions">Permissions</a>
</h2>

<h3>Android</h3>

<h4>app/res/xml/config.xml</h4>

<pre class="prettyprint"><code>&lt;plugin name="NetworkStatus" value="org.apache.cordova.NetworkManager" /&gt;
</code></pre>

<h4>app/AndroidManifest.xml</h4>

<pre class="prettyprint"><code>&lt;uses-permission android:name="android.permission.INTERNET" /&gt;
&lt;uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /&gt;
&lt;uses-permission android:name="android.permission.READ_PHONE_STATE" /&gt;
</code></pre>

<h3>Bada</h3>

<pre class="prettyprint"><code>&lt;Privilege&gt;
    &lt;Name&gt;SYSTEM_SERVICE&lt;/Name&gt;
&lt;/Privilege&gt;
</code></pre>

<h3>BlackBerry WebWorks</h3>

<h4>www/plugins.xml</h4>

<pre class="prettyprint"><code>&lt;plugin name="Network Status" value="org.apache.cordova.network.Network" /&gt;
</code></pre>

<h3>iOS</h3>

<h4>App/Supporting Files/Cordova.plist</h4>

<pre class="prettyprint"><code>&lt;key&gt;Plugins&lt;/key&gt;
&lt;dict&gt;
    &lt;key&gt;NetworkStatus&lt;/key&gt;
    &lt;string&gt;CDVConnection&lt;/string&gt;
&lt;/dict&gt;
</code></pre>

<h3>webOS</h3>

<pre class="prettyprint"><code>No permissions are required.
</code></pre>

<h3>Windows Phone</h3>

<h4>Properties/WPAppManifest.xml</h4>

<pre class="prettyprint"><code>&lt;Capabilities&gt;
    &lt;Capability Name="ID_CAP_NETWORKING" /&gt;
&lt;/Capabilities&gt;
</code></pre>

<p>Reference: <a class="external" href="http://msdn.microsoft.com/en-us/library/ff769509%28v=vs.92%29.aspx">Application Manifest for Windows Phone</a></p>

<h3>Tizen</h3>

<h4>config.xml</h4>

<pre class="prettyprint"><code>&lt;feature name="http://tizen.org/api/systeminfo" required="true"/&gt;
</code></pre>

<p>Reference: <a class="external" href="https://developer.tizen.org/help/topic/org.tizen.help.gs/Creating%20a%20Project.html?path=0_1_1_3#8814682_CreatingaProject-EditingconfigxmlFeatures">Application Manifest for Tizen Web Application</a></p>

<hr>
<h1><a name="connection.type">connection.type</a></h1>

<p>Checks the active network connection that is being used.</p>

<h2>
<a name="connection.type_description">Description</a>
</h2>

<p>This property is a fast way to determine the device's network connection state, and type of connection.</p>

<h2>
<a name="connection.type_supported_platforms">Supported Platforms</a>
</h2>

<ul>
<li>iOS</li>
<li>Android</li>
<li>BlackBerry WebWorks (OS 5.0 and higher)</li>
<li>Windows Phone 7 ( Mango )</li>
<li>Bada 2.x</li>
<li>webOS</li>
<li>Tizen</li>
</ul>
<h2>
<a name="connection.type_quick_example">Quick Example</a>
</h2>

<pre class="prettyprint"><code>function checkConnection() {
    var networkState = navigator.<a href="cordova_connection_connection.md.html#connection.type">connection.type</a>;

    var states = {};
    states[<a href="cordova_connection_connection.md.html#Connection">Connection</a>.UNKNOWN]  = 'Unknown connection';
    states[<a href="cordova_connection_connection.md.html#Connection">Connection</a>.ETHERNET] = 'Ethernet connection';
    states[<a href="cordova_connection_connection.md.html#Connection">Connection</a>.WIFI]     = 'WiFi connection';
    states[<a href="cordova_connection_connection.md.html#Connection">Connection</a>.CELL_2G]  = 'Cell 2G connection';
    states[<a href="cordova_connection_connection.md.html#Connection">Connection</a>.CELL_3G]  = 'Cell 3G connection';
    states[<a href="cordova_connection_connection.md.html#Connection">Connection</a>.CELL_4G]  = 'Cell 4G connection';
    states[<a href="cordova_connection_connection.md.html#Connection">Connection</a>.NONE]     = 'No network connection';

    alert('<a href="cordova_connection_connection.md.html#Connection">Connection</a> type: ' + states[networkState]);
}

checkConnection();
</code></pre>

<h2>
<a name="connection.type_full_example">Full Example</a>
</h2>

<pre class="prettyprint"><code>&lt;!DOCTYPE html&gt;
&lt;html&gt;
  &lt;head&gt;
    &lt;title&gt;navigator.<a href="cordova_connection_connection.md.html#connection.type">connection.type</a> Example&lt;/title&gt;

    &lt;script type="text/javascript" charset="utf-8" src="cordova-2.2.0.js"&gt;&lt;/script&gt;
    &lt;script type="text/javascript" charset="utf-8"&gt;

    // Wait for Cordova to load
    // 
    document.addEventListener("<a href="cordova_events_events.md.html#deviceready">deviceready</a>", onDeviceReady, false);

    // Cordova is loaded and it is now safe to make calls Cordova methods
    //
    function onDeviceReady() {
        checkConnection();
    }

    function checkConnection() {
        var networkState = navigator.<a href="cordova_connection_connection.md.html#connection.type">connection.type</a>;

        var states = {};
        states[<a href="cordova_connection_connection.md.html#Connection">Connection</a>.UNKNOWN]  = 'Unknown connection';
        states[<a href="cordova_connection_connection.md.html#Connection">Connection</a>.ETHERNET] = 'Ethernet connection';
        states[<a href="cordova_connection_connection.md.html#Connection">Connection</a>.WIFI]     = 'WiFi connection';
        states[<a href="cordova_connection_connection.md.html#Connection">Connection</a>.CELL_2G]  = 'Cell 2G connection';
        states[<a href="cordova_connection_connection.md.html#Connection">Connection</a>.CELL_3G]  = 'Cell 3G connection';
        states[<a href="cordova_connection_connection.md.html#Connection">Connection</a>.CELL_4G]  = 'Cell 4G connection';
        states[<a href="cordova_connection_connection.md.html#Connection">Connection</a>.NONE]     = 'No network connection';

        alert('<a href="cordova_connection_connection.md.html#Connection">Connection</a> type: ' + states[networkState]);
    }

    &lt;/script&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;p&gt;A dialog box will report the network state.&lt;/p&gt;
  &lt;/body&gt;
&lt;/html&gt;
</code></pre>

<h2>
<a name="connection.type_api_change">API Change</a>
</h2>

<p>Before Cordova 2.2.0, the <a href="cordova_connection_connection.md.html#Connection">Connection</a> object existed at: <code>navigator.network.connection</code>.</p>

<p>To match the spec, this was changed to <code>navigator.connection</code> in 2.2.0.</p>

<p><code>navigator.network.connection</code> still exists, but is now deprecated and will be removed in a future release.</p>

<h2>
<a name="connection.type_ios_quirks">iOS Quirks</a>
</h2>

<ul>
<li>iOS cannot detect the type of cellular network connection.
<ul>
<li>
<code>navigator.<a href="cordova_connection_connection.md.html#connection.type">connection.type</a></code> is set to <code><a href="cordova_connection_connection.md.html#Connection">Connection</a>.CELL_2G</code> for all cellular data.</li>
</ul>
</li>
</ul>
<h2>
<a name="connection.type_bada_quirks">Bada Quirks</a>
</h2>

<ul>
<li>Bada can only detect a WiFi or cellular connection.
<ul>
<li>
<code>navigator.<a href="cordova_connection_connection.md.html#connection.type">connection.type</a></code> is set to <code><a href="cordova_connection_connection.md.html#Connection">Connection</a>.CELL_2G</code> for all cellular data.</li>
</ul>
</li>
</ul>
<h2>
<a name="connection.type_webos_quirks">webOS Quirks</a>
</h2>

<ul>
<li>Only shows that a connection is available, but not which type.</li>
</ul>
<h2>
<a name="connection.type_windows_phone_quirks">Windows Phone Quirks</a>
</h2>

<ul>
<li>Windows Phone Emulator always detects <code>navigator.<a href="cordova_connection_connection.md.html#connection.type">connection.type</a></code> as <code><a href="cordova_connection_connection.md.html#Connection">Connection</a>.UNKNOWN</code>.</li>
</ul>
<h2>
<a name="connection.type_tizen_quirks">Tizen Quirks</a>
</h2>

<ul>
<li>Tizen can only detect a WiFi or cellular connection.
<ul>
<li>
<code>navigator.<a href="cordova_connection_connection.md.html#connection.type">connection.type</a></code> is set to <code><a href="cordova_connection_connection.md.html#Connection">Connection</a>.CELL_2G</code> for all cellular data.</li>
</ul>
</li>
</ul>
</div>
        </div>

        <!-- Functionality and Syntax Highlighting -->
        <script type="text/javascript" src="index.js"></script><script type="text/javascript" src="prettify/prettify.js"></script>
</body>
</html>
